Apparatuses for supporting persons, such as, for example, hospital beds for supporting bariatric patients weighing approximately between 400 and 1200 pounds, are sometimes provided with the ability to vertically reposition (i.e., raise and lower) and angularly reposition (i.e., tilt and level) portions or all of a patient support surface to facilitate repositioning or otherwise moving a patient sitting or lying thereon. Due to design constraints, vertically repositioning the patient support surface while it is in certain angular positions, or angularly repositioning the patient support surface while it is in certain vertical positions, can bring components of the apparatus into damaging contact with each another. For example, if the support surface is lowered too far when it is angled too much, it may strike a base or other component of the apparatus, and, similarly, if the support surface is angled too much when it is too low, it may strike the base or other component.
Furthermore, it can be medically or otherwise undesirable for some patients to exceed a maximum or minimum head or foot elevation while lying on such apparatuses, or to move off of such apparatuses without calling for assistance or against medical advice.
Additionally, such apparatuses may have complex onboard electronic functionality with associated software or firmware that must be periodically updated or otherwise changed. In prior art systems, performing remote updates on the apparatus' functionality could be problematic, and, if performed improperly, could render one or more functionalities or the entire system nonfunctional. One problem occurs when there is an interruption of the update process, which can render the new image incomplete and nonfunctional. One solution to this problem has been to keep two firmware images in memory and alternate firmware updates. Unfortunately, many functionalities are associated with small microcontrollers that have limited memory space that cannot accommodate two images. Another problem arises because firmware is often stored in flash memory so it is not possible to continue executing code from a block of memory while it is being updated. In some apparatuses, firmware is run from RAM memory while the flash memory is being re-written. Unfortunately, many apparatuses or particular functionalities have insufficient RAM to implement this solution.
Due to these and other concerns, a need exists for an improved patient support apparatus.